package com.ruoyi.sl.service;

import java.util.List;
import com.ruoyi.sl.domain.SlGprocess;
import com.ruoyi.sl.domain.SlWorkshop;

/**
 * 大工序Service接口
 * 
 * @author admin
 * @date 2024-06-05
 */
public interface ISlGprocessService 
{
    /**
     * 查询大工序
     * 
     * @param gprocessId 大工序主键
     * @return 大工序
     */
    public SlGprocess selectSlGprocessByGprocessId(Long gprocessId);

    //根据部门查询大工序
    public SlGprocess selectSlGprocessByDeptId(Long deptId);

    /**
     * 校验大工序名是否存在
     *
     * @param slGprocess 大工序信息
     * @return
     */
    public Boolean checkGprocessName(SlGprocess slGprocess);

    /**
     * 查询大工序列表
     * 
     * @param slGprocess 大工序
     * @return 大工序集合
     */
    public List<SlGprocess> selectSlGprocessList(SlGprocess slGprocess);

    //根据车间ID查询所有大工序
    public List<SlGprocess> selectSlGprocessListByWorkshopId(Long workshopId);

    /**
     * 根据车间ID查询车间下是否有子元素
     */
    public Boolean checkGprocessMemberNum(Long gprocessId);

    /**
     * 新增大工序
     * 
     * @param slGprocess 大工序
     * @return 结果
     */
    public int insertSlGprocess(SlGprocess slGprocess);

    /**
     * 修改大工序
     * 
     * @param slGprocess 大工序
     * @return 结果
     */
    public int updateSlGprocess(SlGprocess slGprocess);

    /**
     * 批量删除大工序
     * 
     * @param gprocessIds 需要删除的大工序主键集合
     * @return 结果
     */
    public int deleteSlGprocessByGprocessIds(Long[] gprocessIds);

    /**
     * 删除大工序信息
     * 
     * @param gprocessId 大工序主键
     * @return 结果
     */
    public int deleteSlGprocessByGprocessId(Long gprocessId);
}
